package com.ltkj.coupon.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ltkj.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author gushaoliang
 * @Date 2023/9/21 11:41
 * @PackageName:com.ltkj.coupon.domain.dto
 * @ClassName: TCouponTempAddDTO
 * @Description: TODO
 * @Version 1.0
 */
@Data
public class TCouponTempAddDTO  {
    /** ID */
    @ApiModelProperty("ID")
    private Long id;

    /** 名称 */
    @Excel(name = "名称")
    @ApiModelProperty("名称")
    private String name;

    /** 优惠券类型：1直减现金券 */
    @Excel(name = "优惠券类型：1直减现金券")
    @ApiModelProperty("优惠券类型：1直减现金券")
    private String couponType;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    @ApiModelProperty("优惠金额")
    private BigDecimal couponAmout;

    /** 满减金额 */
    @Excel(name = "满减金额")
    @ApiModelProperty("满减金额")
    private BigDecimal fullAmount;

    /** 数据状态 */
    @Excel(name = "数据状态")
    @ApiModelProperty("数据状态")
    private String isDel;

    /** 发放开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发放开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss ")
    @ApiModelProperty("发放开始时间")
    private Date grantStartTime;

    /** 发放结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发放结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("发放结束时间")
    private Date grantEndTime;

    /** 生效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("生效时间")
    private Date effectiveStartTime;

    /** 失效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "失效时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("失效时间")
    private Date effectiveEndTime;

    /** 状态: 0编辑中1已提交2启用3发放中4暂停5结束 */
    @Excel(name = "状态: 0编辑中1已提交2启用3发放中4暂停5结束")
    @ApiModelProperty("状态: 0编辑中1已提交2启用3发放中4暂停5结束")
    private String status;

    /** 发放数量 */
    @Excel(name = "发放数量")
    @ApiModelProperty("发放数量")
    private Long quantity;

    /** 每人可重复领取数量 */
    @Excel(name = "每人可重复领取数量")
    @ApiModelProperty("每人可重复领取数量")
    private String repeatQuantity;

    /** 发放剩余数量 */
    @Excel(name = "发放剩余数量")
    @ApiModelProperty("发放剩余数量")
    private Long quantityResidue;
    @Excel(name = "规则类型:1针对景区票2针对活动票")
    @ApiModelProperty("规则类型:1针对景区票2针对活动票")
    private Long ruleType;

    @ApiModelProperty("使用规则说明")
    private String usageRules;

    @ApiModelProperty("门票信息")
    private List<TCouponTempReefAddDTO> tCouponTempReefAddDTOList;
}